Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Adressdekoder</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Adressdekoder"> <link href="./_mw_/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Adressdekoder rootpage-Adressdekoder skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Adressdekoder</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p>In der <a href="Mikroelektronik" title="Mikroelektronik">Mikroelektronik</a>, der <a href="Rechnerarchitektur" title="Rechnerarchitektur">Rechnerarchitektur</a> und der <a href="Technische_Informatik" title="Technische Informatik">technischen Informatik</a> wertet ein <b>Adressdekoder</b> (englisch address decoder) die Bits einer aktuellen Adresse aus, um die zugeordnete Speicher-Zelle oder einen bestimmten Teilbereich der Speicher (Speicher-Modul/Speicher-Chip) zu selektieren.
</p><p>Ein Adressdekoder ist durch eine kombinatorische Schaltung (auch <a href="Schaltnetz" title="Schaltnetz">Schaltnetz</a>) technisch zu realisieren. Er kann in seiner Funktion durch <a href="Boolesche_Algebra" title="Boolesche Algebra">Boolesche Algebra</a> beschrieben werden.
</p>

<div class="mw-heading mw-heading2"><h2 id="Adressdekoder_wählt_die_Speicherzelle_in_einem_Speicher_aus"><span id="Adressdekoder_w.C3.A4hlt_die_Speicherzelle_in_einem_Speicher_aus"></span>Adressdekoder wählt die Speicherzelle in einem Speicher aus</h2></div>
<p>Ein Adressdekoder ist eine häufig verwendete Komponente in der Mikroelektronik, die zur Auswahl von Speicherzellen in <a href="Random-Access_Memory" title="Random-Access Memory">wahlfrei adressierbaren</a> Speicherbausteinen verwendet wird.
</p><p>Eine solche Speicherzelle besteht aus einer festen Anzahl von Speicherelementen oder <a href="Bit" title="Bit">Bits</a>. Der Adressdekoder ist mit einem <a href="Adressbus" class="mw-redirect" title="Adressbus">Adressbus</a> verbunden und liest die dort angelegte Adresse. Über eine spezielle Schaltlogik berechnet er aus dieser Adresse, auf welche Speicherzelle zugegriffen werden soll. Daraufhin wählt er diese Zelle aus, indem er sie über eine spezielle Steuerleitung auswählt. Diese Leitung wird auch als Select-Leitung bezeichnet. In <a href="Dynamic_Random_Access_Memory" title="Dynamic Random Access Memory">dynamischen Speichern (DRAM)</a> gibt es an der Speichermatrix Zeilen-
und Spalten-Select-Leitungen, die von im Chip integrierten Adressdecodern angesteuert werden.
</p><p>Nach welcher Logik die Auswahl der Speicherzelle erfolgt, kann – je nach Dekodertyp – unter Umständen programmierbar sein.
</p>
<div class="mw-heading mw-heading2"><h2 id="Adressdekoder_wählt_das_passende_Speichermodul_aus"><span id="Adressdekoder_w.C3.A4hlt_das_passende_Speichermodul_aus"></span>Adressdekoder wählt das passende Speichermodul aus</h2></div>
<p>Ein Adressdekoder wird auch benutzt, um das zutreffende von mehreren Speichermodulen oder Speicherchips auszuwählen, wenn eine bestimmte Adresse vom Adressbus des Prozessorsystems geliefert wird.
</p><p>Dazu haben die Speichermodule oder Speicherchips Selektionseingänge, meist als Chip-Select-Pin (CS) oder Chip-Enable-Pin (CE) Pin bezeichnet.
Häufig haben diese Eingänge eine negative Logikfunktion (<span style="text-decoration:overline">CS</span> oder <span style="text-decoration:overline">CE</span>), d.&nbsp;h. mit einer anliegenden logischen Null (Spannungslevel low) wird selektiert.
</p><p>Durch die jeweils unterschiedliche kombinatorische Logik platziert der Adressdekoder die Speichermodule oder -Chips im <a href="Adressraum" title="Adressraum">Adressraum</a> eines Prozessors. Oft haben die Speichermodule eine geringere Kapazität als der Adressraum. Es können meist mehrere – auch vollkommen gleichartig aufgebaute – Module eingesetzt werden. Es muss dafür gesorgt werden, dass sie sich im Adressbereich unterscheiden.
</p>
<div class="mw-heading mw-heading2"><h2 id="Eindeutigkeit_oder_Mehrdeutigkeit_in_der_Zuordnung_Adresse_und_Speicherzelle">Eindeutigkeit oder Mehrdeutigkeit in der Zuordnung Adresse und Speicherzelle</h2></div>
<p>Der Zugriff auf diese Module wird durch den Adressdecoder meist eindeutig organisiert (<a href="Injektivit%C3%A4t" class="mw-redirect" title="Injektivität">Injektivität</a>). D.h. eine Adresse führt zu einer Speicherzelle in einem Modul. Sie führt nicht zu Speicherzellen in mehreren Modulen oder zu mehreren Speicherzellen in einem Modul.
</p><p>Auf eine umkehr eindeutige Zuordnung (<a href="Bijektivit%C3%A4t" class="mw-redirect" title="Bijektivität">Eineindeutigkeit, Bijektivität</a>) zwischen Adresse und Zelle im Modul wird
manchmal wegen des Aufwands bei vielen Eingangsleitungen im Adressdekoder verzichtet. Dadurch ist die Adresse nur unvollständig dekodiert. Somit sind einer Speicherzelle mehrere Adressen zugeordnet. Ebenso liegt ein Speichermodul in mehreren Bereichen des Adressraums. Diese Erscheinung wird oft als Spiegeladressen oder gespiegelte Module bezeichnet und auch „Mirror“ genannt. Die unvollständige Dekodierung kann manchmal Hardwareaufwand sparen, bewirkt aber gelegentlich Komplikationen für die Software.
</p>
<div class="mw-heading mw-heading2"><h2 id="Beispiel_für_einen_8-bit-Mikroprozessor"><span id="Beispiel_f.C3.BCr_einen_8-bit-Mikroprozessor"></span>Beispiel für einen 8-bit-Mikroprozessor</h2></div>
<p>Die häufig genutzte Adressbreite von 16&nbsp;Bit bei 8-bit-<a href="Mikroprozessor" title="Mikroprozessor">Mikroprozessoren</a> entspricht einem Adressraum mit 64&nbsp;k Kapazität. Adressen werden fast immer hexadezimal notiert, hier – wie auch in der Programmiersprache C – soll das <a href="Pr%C3%A4fix" title="Präfix">Präfix</a> „0x“ als Kennzeichen genutzt werden. Der Adressraum des 8-bit-Mikroprozessors hat die Adressen 0x0000 bis 0xFFFF.
</p><p>Die Adressleitungen sind mit <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A15}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<mn>15</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A15}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/729da1f05b613a9c42d14f052b708437aea6a716.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.068ex; height:2.176ex;" alt="{\displaystyle A15}" loading="lazy"></span> bis <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A0}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<mn>0</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A0}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/fb21b0b61ede4c877ba8235fe71908de3965278c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.906ex; height:2.176ex;" alt="{\displaystyle A0}" loading="lazy"></span> bezeichnet. Der Datenbus ist 8 Bit breit.
</p><p>Der Adressraum wird im Beispiel durch 4&nbsp;Stück baugleiche RAM-Chips 16k&nbsp;x&nbsp;8 vollständig gefüllt.
Die Bezeichnung 16&nbsp;k&nbsp;x&nbsp;8 bedeutet 16&nbsp;k Kapazität mit der Wortbreite 8&nbsp;Bit.
</p><p>Zu diesem Zweck sollen vier Adressdekoder realisiert werden, welche ihre Ausgangssignale <span style="text-decoration:overline">CS</span><sub>n</sub> als kombinatorische Logikverknüpfungen von den Adressleitungen des Adressbus bilden.
</p><p>Dort sollen in diesem Beispiel die höchstwertigen Adressleitungen A15 und A14 ausgewertet werden. Die verbleibenden 14 Adressleitungen können direkt den RAM-Chips zugeleitet werden. Damit wären die folgenden Funktionen für das Signal <span style="text-decoration:overline">CS</span> jedes RAM-Chips nutzbar:
</p><p>Selektion für den ersten RAM-Chip
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\overline {CS}}_{0}={A15}\vee {A14}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow>
<mi>C</mi>
<mi>S</mi>
</mrow>
<mo accent="false">¯<!-- ¯ --></mo>
</mover>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>A</mi>
<mn>15</mn>
</mrow>
<mo>∨<!-- ∨ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>A</mi>
<mn>14</mn>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\overline {CS}}_{0}={A15}\vee {A14}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/2dc73ce4448cd2da4641ca4a1687e148edba7ad9.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:18.3ex; height:3.343ex;" alt="{\displaystyle {\overline {CS}}_{0}={A15}\vee {A14}}" loading="lazy"></span></dd></dl>
<p>Selektion für den zweiten RAM-Chip
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\overline {CS}}_{1}={A15}\vee {\overline {A14}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow>
<mi>C</mi>
<mi>S</mi>
</mrow>
<mo accent="false">¯<!-- ¯ --></mo>
</mover>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>A</mi>
<mn>15</mn>
</mrow>
<mo>∨<!-- ∨ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow>
<mi>A</mi>
<mn>14</mn>
</mrow>
<mo accent="false">¯<!-- ¯ --></mo>
</mover>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\overline {CS}}_{1}={A15}\vee {\overline {A14}}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/1fb322976c2b848bd6abbb5da0a6c1b20dd1d8c8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:18.415ex; height:3.343ex;" alt="{\displaystyle {\overline {CS}}_{1}={A15}\vee {\overline {A14}}}" loading="lazy"></span></dd></dl>
<p>Selektion für den dritten RAM-Chip
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\overline {CS}}_{2}={\overline {A15}}\vee {A14}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow>
<mi>C</mi>
<mi>S</mi>
</mrow>
<mo accent="false">¯<!-- ¯ --></mo>
</mover>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow>
<mi>A</mi>
<mn>15</mn>
</mrow>
<mo accent="false">¯<!-- ¯ --></mo>
</mover>
</mrow>
<mo>∨<!-- ∨ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>A</mi>
<mn>14</mn>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\overline {CS}}_{2}={\overline {A15}}\vee {A14}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/ca630ddc8569379265d078e3febe957cced536bd.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:18.415ex; height:3.343ex;" alt="{\displaystyle {\overline {CS}}_{2}={\overline {A15}}\vee {A14}}" loading="lazy"></span></dd></dl>
<p>Selektion für den vierten RAM-Chip
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\overline {CS}}_{3}={\overline {A15}}\vee {\overline {A14}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow>
<mi>C</mi>
<mi>S</mi>
</mrow>
<mo accent="false">¯<!-- ¯ --></mo>
</mover>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow>
<mi>A</mi>
<mn>15</mn>
</mrow>
<mo accent="false">¯<!-- ¯ --></mo>
</mover>
</mrow>
<mo>∨<!-- ∨ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow>
<mi>A</mi>
<mn>14</mn>
</mrow>
<mo accent="false">¯<!-- ¯ --></mo>
</mover>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\overline {CS}}_{3}={\overline {A15}}\vee {\overline {A14}}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/c4cb0403ce54f222ea653383803fb15d73386f61.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:18.53ex; height:3.343ex;" alt="{\displaystyle {\overline {CS}}_{3}={\overline {A15}}\vee {\overline {A14}}}" loading="lazy"></span></dd></dl>
<p>Mit den obigen Adressdecodern wird also wie folgt platziert:
</p>
<dl><dd>Der erste RAM-Chip erhält die Adressen 0x0000 bis 0x3FFF,</dd>
<dd>der zweite RAM-Chip die Adressen 0x4000 bis 0x7FFF,</dd>
<dd>der dritte RAM-Chip die Adressen 0x8000 bis 0xBFFF und</dd>
<dd>der vierte RAM-Chip die Adressen 0xC000 bis 0xFFFF.</dd></dl>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li><a href="Ulrich_Tietze" title="Ulrich Tietze">Ulrich Tietze</a>, Christoph Schenk, Eberhard Gamm, <i>Halbleiter-Schaltungstechnik</i>, Springer 2002, 12. Auflage, ISBN 3-540-42849-6</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://tams.informatik.uni-hamburg.de/applets/hades/webdemos/90-tionline/04-codeumsetzer/adressdekoder.html">Javaapplet Univ. Hamburg</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-09-27" href="https://de.wikipedia.org/wiki/?title=Adressdekoder&amp;oldid=260110115">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>